Engine control device

ABSTRACT

To accurately detect occurrence of erroneous detection of a crank pulse associated with dropout of a crank pulse or occurrence of noise. 
     A cogless section is provided in cogs provided on an outer periphery of a crankshaft for transmitting a crank pulse. Occurrence of erroneous detection of a crank pulse is detected through use of an instantaneous rotational speed of the crankshaft computed from a crank pulse assigned to the cogless section and crank pulses assigned to cogs before and after the cogless section. When too few crank pulses are detected, a rapid increases arises in the instantaneous rotational speed of the crankshaft computed from the crank pulses after occurrence of a rapid decrease. The number of detected cramp pulses—which are fewer than the original crank pulses—is detected from the number of crank pulses existing between occurrence of a rapid decrease and occurrence of a rapid increase. When a too many crank pulses are detected, a rapid decrease arises in the instantaneous rotational speed of the crankshaft after occurrence of a rapid increase. The number of detected crank pulses—which are greater in number than the original crank pulses—is detected from the number of crank pulses existing between occurrence of a rapid increase and occurrence of a rapid decrease.

TECHNICAL FIELD

The present invention relates to an engine controller for controlling anengine, and more particularly, to an engine controller suitable for usein controlling an engine equipped with a fuel injector which injectsfuel.

BACKGROUND ART

As a fuel injection device called an injector has recently becomepervasive, control of a fuel injection timing and control of quantity offuel to be injected; that is, control of an air—fuel ratio, has becomeeasy. As a result, fostering an increase in power, a reduction in fuelconsumption, and cleansing of exhaust gases has become possible. Inrelation particularly to a timing at which fuel is to be injected fromamong the foregoing elements, strictly speaking, the state of an intakevalve; that is, the phase state of a cam shaft, is detected, and fuel isusually injected in accordance with the thus-detected phase state.However, a so-called cam sensor to be used for detecting the phase stateof the cam shaft is expensive. The cam sensor presents a problem of anincrease in the size of a cylinder head of, particularly, a two-wheeledvehicle, and hence in many cases cannot be adopted. For this reason, anengine controller is proposed in, e.g., JP-A-10-227252, wherein thephase state of a crankshaft and an air intake pressure are detected, andthe stroke state of a cylinder is then detected on the basis of thesedetection results. Use of this related-art technique enables detectionof a stroke state without detecting the phase of a cam shaft. Hence, thefuel injection timing or the like can be controlled in accordance withthe stroke state.

Detection of the phase state of the crankshaft requires formation ofcogs in the crankshaft or an outer periphery of a member which rotatesin synchronism with the crankshaft, detection of an approach to the cogsthrough use of a magnetic sensor or the like, transmission of a pulsesignal, and detection of the pulse signal as a crank pulse. The phasestate of the crankshaft is detected by numbering the thus-detected crankpulse. In order to effect numbering or the like, the cogs are oftenprovided at uneven intervals. Specifically, the thus-detected crankpulse is characterized by a mark. Fuel injection timing and ignitiontiming are controlled in accordance with the thus-characterized crankpulse.

However, particularly in the case of an engine for a two-wheeled vehiclehaving a small displacement and a single cylinder, an engine speedgreatly decreases when, e.g., a throttle is opened rapidly, detection ofa crank pulse at that moment sometimes fails. Alternatively, electricalnoise associated with firing may sometimes be detected erroneously as acrank pulse. If too many or too few crank pulses are detected; i.e., ifcrank pulse detection is erroneous, there will arise a problem of actualinjection timing or ignition timing differing from controlled injectiontiming or controlled ignition timing. A specific technique for detectingoccurrence of erroneous detection of such a crank pulse is neveravailable.

The present invention is developed to solve the problem and aims atproviding an engine controller capable of accurately detectingoccurrence of erroneous detection of a crank pulse.

DISCLOSURE OF INVENTION

To solve the problem, an engine controller according to claim 1 of theinvention comprises: cogs provided at non-uniform intervals on an outerperiphery of a crankshaft or a member which rotates in synchronism withthe crankshaft; crank pulse generation means which transmits a pulsesignal in association with an approach to the cogs; crankshaft phasedetection means for detecting the phase of a crankshaft from the crankpulse; engine control means for controlling the operating state of anengine on the basis of the phase of the crankshaft detected by thecrankshaft phase detection means; and erroneous-detection-of-crank-pulsedetection means which detects occurrence of erroneous detection of thecrank pulse by means of comparing the rotational speed of the crankshaftdetermined from crank pulses assigned to specific cogs from among thecogs provided at non-uniform intervals with the rotational speed of thecrankshaft determined from crank pulses assigned to cogs located in thevicinity of the specific cogs.

In order to compute a rotational speed of the crankshaft from crankpulses assigned to cogs provided on an outer periphery of a crankshaftor a member which rotates in synchronism with the crankshaft, actualphases of the two cogs are divided by a time required to detect crankpulses assigned to a current cog and a previous cog, thereby determininga rotational speed of the crankshaft per unit time.

An engine controller according to claim 2 of the invention ischaracterized by the engine controller according to claim 1 in that, onthe assumption that a pitch between the specific cogs among the cogsprovided at non-uniform intervals is α times a pitch between the othercogs, when the instantaneous rotational speed of the crankshaft obtainedfrom a crank pulse assigned to a cog before then specific cog isone-α^(th) or less a predicated rotational speed of the crankshaftobtained from a crank pulse assigned to the previous cog and when theinstantaneous rotational speed of the crankshaft obtained from the crankpulse assigned to the specific cog is α times or more the average valueof rotational speed of the crankshaft, a determination is made thatcrank pulse detection is erroneous, in that too few crank pulses aredetected.

Specifically, the instantaneous rotational speed of the crankshaftindicates a rotational speed of the crankshaft computed from a crankpulse assigned to a certain cog and another crank pulse assigned to aprevious cog. The average value of rotational speed of the crankshaftindicates a moving average value of rotational speed of the crankshaftand the like.

An engine controller according to claim 3 of the invention ischaracterized by the engine controller according to claim 1 or 2 inthat, on the assumption that a pitch between the specific cogs fromamong the cogs provided at non-uniform intervals is α times a pitchbetween the other cogs, when the instantaneous rotational speed of thecrankshaft determined from the crank pulse assigned to the specific cogsis α times an average value of rotational speed of the crankshaft andwhen the instantaneous rotational speed of the crankshaft determinedfrom crank pulses assigned to a cog next to the specific cog and thoseassigned to subsequent cogs is one-2αth or less the instantaneousrotational speed of the crankshaft obtained previously, a determinationis made that detection is erroneous, in that too many crank pulses aredetected.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic block diagram of a motorcycle engine and acontroller thereof;

FIG. 2 is a descriptive view pertaining to the principle by which theengine shown in FIG. 1 transmits a crank pulse;

FIG. 3 is a block diagram showing an embodiment of the engine controllerof the invention;

FIG. 4 is a descriptive view for detecting the state of a stroke on thebasis of the phase of a crankshaft and an intake pressure;

FIG. 5 is a map to be used for computing the mass of air stored in acylinder, the mass being stored in a cylinder air mass computingsection;

FIG. 6 is a map to be used for computing a target air-fuel ratio storedin a target air-fuel ratio computing section;

FIG. 7 is a descriptive view for describing the operation of atransition period correction section;

FIG. 8 is a descriptive view showing erroneous detection of a crankpulse;

FIG. 9 is a descriptive view for describing a difference between therotational speed of a crankshaft achieved with a dropout of a crankpulse and that achieved when noise arises;

FIG. 10 is a flowchart showing computation processing for detection oferroneous-detection-of-crank-pulse and correction of a crank angle, bothbeing performed in an engine control unit;

FIG. 11 is a descriptive view showing operation for correcting a crankangle through the computation processing shown in FIG. 10; and

FIG. 12 is a descriptive view showing a relationship between aninstantaneous rotational speed of the crankshaft obtained at the time oferroneous detection of the crank pulse and an average value ofrotational speed of the crankshaft.

BEST MODE FOR CARRYING OUT THE INVENTION

An embodiment of the invention will be described hereinbelow.

FIG. 1 is a schematic block diagram showing, e.g., an example motorcycleengine and an example controller thereof. An engine 1 is asingle-cylinder four-cycle engine having a comparatively smalldisplacement and has a cylinder body 2, a crankshaft 3, a piston 4, acombustion chamber 5, an intake pipe 6, an intake valve 7, an exhaustpipe 8, an exhaust valve 9, a spark plug 10, and an ignition coil 11. Athrottle valve 12 to be opened and closed in accordance with anaccelerator position is provided in the intake pipe 6. An injector 13serving as a fuel injector is provided in the intake pipe 6 downstreamfrom the throttle valve 12. The injector 13 is connected to a filter 18provided in a fuel tank 19, a fuel pump 17, and a pressure control valve16.

The operating state of the engine 1 is controlled by an engine controlunit 15. Provided as means for detecting control inputs to the enginecontrol unit 15; that is, the operating state of the engine 1, are acrank angle sensor 20 for detecting the rotation angle of the crankshaft3 or the phase of the same; a cooling water temperature sensor 21 fordetecting the temperature of the cylinder body 2 or the temperature ofcooling water; i.e., the temperature of an engine main body; an exhaustair-fuel ratio sensor 22 for detecting an air-fuel ratio in the exhaustpipe 8; an intake pressure sensor 24 for detecting the pressure ofintake air within the intake pipe 6; and an intake air temperaturesensor 25 for detecting the inside temperature of the intake pipe 6;i.e., an intake air temperature. The engine control unit 15 receivesdetection signals output from the sensors and outputs control signals tothe fuel pump 17, the pressure control valve 16, the injector 13, andthe ignition coil 11.

Here, the principle of a crank angle signal output from the crank anglesensor 20 will be described. In the embodiment, as shown in FIG. 2 a, aplurality of cogs 23 are projectingly provided on an outer periphery ofthe crankshaft 3 at substantially uniform intervals, and an approach ofthe cog is detected by means of the crank angle sensor 20, such as amagnetic sensor or the like. A detection result is subjected to electricprocessing, as required, and a pulse signal is transmitted. Acircumferential pitch between the cogs 23 is 30° in terms of a phase(rotational angle) of the crankshaft 3. The circumferential width ofeach cog 23 is set to 10° in terms of the phase (rotational angle) ofthe crankshaft 3. Only one pitch between cogs 23 does not comply withthe specified pitch, and is double that between the other cogs 23. Asindicated by a two-dot chain line in FIG. 2 a, the reason for this is aspecial setting, wherein no cog is provided in a place where a cog wouldbe disposed if all the pitches are identical. This place corresponds toan on-uniform interval. Hereinafter, this place will also be called acogless section.

A pulse signal train produced by the respective cogs 23 when thecrankshaft 3 is rotating at constant velocity appears as shown in FIG. 2b. FIG. 2 a shows the state of the crankshaft achieved at a compressiontop dead center (which is also identical in shape with the state of thecrankshaft achieved at an exhaust top dead center). A pulse signalimmediately preceding the time when the compression top dead center isachieved is numbered (assigned a number) “0” in the drawing; the nextpulse signal is numbered “1” in the drawing; the next pulse signal isnumbered “2” in the drawing; and subsequent pulse signals are numberedup to “4” in the drawing. The cog 23 corresponding to the pulse signal“4” in the drawing is followed by the cogless section. However, thecogless section is counted as an extra cog as if a cog are present.Then, a pulse signal assigned to the next cog 23 is numbered “6” in thedrawing. Numbering of the cogs is continued, whereupon a pulse signal“16” in the drawing is followed and approached by the cogless section.Hence, the cogless section is counted as an extra cog in the same manneras mentioned previously. A pulse signal assigned to the next cog 23 isnumbered “18” in the drawing. When the crankshaft 3 has made tworotations, a complete cycle consisting of four strokes is completed.Hence, when pulse signals are numbered up to “23” in the drawing, apulse signal assigned to the next cog 23 is again numbered “0” in thedrawing. In principle, the pulse signal corresponding to the cog 23numbered 0 should be immediately followed by the compression top deadcenter. As mentioned above, the detected pulse signal train or singlepulse signals thereof are defined as crank pulses. When stroke detectionis performed on the basis of the crank pulses in a manner which will bedescribed later, a crank timing can be detected. The same is alsoachieved even when the cogs 23 are provided on an outer periphery of amember which rotates in synchronism with the crankshaft 3.

The engine control unit 15 is constituted of an unillustratedmicrocomputer or the like. FIG. 3 is a block diagram showing anembodiment of engine control processing to be performed by themicrocomputer provided in the engine control unit 15. The computationprocessing is performed by an engine speed computing section 26 forcomputing an engine speed from the crank angle signal; a crank timingdetection section 27 which detects crank timing information; i.e., astroke state, from the crank angle signal and the intake pressuresignal; a cylinder air mass computing section (intake air quantitycomputing means) 28 which loads the crank timing information detected bythe crank timing detection section 27 and computes a cylinder air mass(the quantity of intake air) from the air intake temperature signal, thecooling water temperature (engine temperature) signal, the intake pipepressure signal, and the engine speed computed by the engine speedcomputing section 26; a target air-fuel ratio computing section 33 whichcomputes a target air-fuel ratio from the engine speed computed by theengine speed computing section 26 and the intake pressure signal; a fuelinjection quantity computing section 34 which computes the quantity offuel to be injected and a fuel injection timing from the target air-fuelratio computed by the target air-fuel ratio computing section 33, theintake pressure signal and the cylinder air mass computed by thecylinder air mass computing section 28; an injection pulse outputsection 30 which loads the crank timing information detected by thecrank timing detection section 27 and outputs, to the injector 13, aninjection pulse corresponding to the fuel injection quantity computed bythe fuel injection quantity computing section 34 and to the fuelinjection timing; an ignition timing computing section 31 which computesan ignition timing from the engine speed computed by the engine speedcomputing section 26 and the target air-fuel ratio set by the targetair-fuel ratio computing section 33; and an ignition pulse outputsection 32 which loads the crank timing information detected by thecrank timing detection section 27 and outputs, to the ignition coil 11,an ignition pulse corresponding to the ignition timing set by theignition timing computing section 31.

The engine speed computing section 26 computes, as an engine speed, therotational speed of the crankshaft—which is an output shaft of theengine—from the time-varying rate of the crank angle signal.

The crank timing detection section 27 has a configuration analogous tothat of a stroke determination device described in previously-mentionedJP-A-10-227252. By means of the crank timing detection section, thestroke state of each cylinder is detected as shown in, e.g., FIG. 4, andthe thus-detected state is output as crank timing information.Specifically, in a four-cycle engine the crankshaft and a cam shaftrotate continuously with a predetermined phase difference remainingtherebetween. For instance, when the crank pulse is loaded in the manneras shown in FIG. 4, the crank pulse numbered “9” or “21” in the drawing,which corresponds to the fourth cog from the cogless section, representseither an exhaust stroke or a compression stroke. As is well known, theexhaust valve is closed during the exhaust stroke, and the intake valueremains closed. Therefore, the intake pressure is high. In an initialstage of the compression stroke, the intake valve remains open, andhence the intake pressure is low. Alternatively, even when the intakevalue remains closed, the intake pressure is already made low during thepreceding intake stroke. Accordingly, the crank pulse “21” in thedrawing achieved at the low intake pressure shows that the engine is inthe compression stroke. The compression top dead center is achievedimmediately after the crank pulse numbered 0 in the drawing is achieved.In this way, when any of the stroke states is detected, the currentstroke state can be detected in more detail, so long as intervalsbetween the strokes are interpolated with the rotational speed of thecrankshaft.

As shown in FIG. 5, the cylinder air mass computing section 28 has athree-dimensional map to be used for computing the mass of air in thecylinder from the intake pressure signal and the engine speed computedby the engine speed computing section 26. The three-dimensional mappertaining to the cylinder air mass can be measured through acomparatively simple test; that is, by means of measuring the mass ofair in the cylinder achieved when the intake pressure is changed whilethe engine is actually rotating at a predetermined speed. Hence,preparation of the map is easy. Further, if sophisticated enginesimulation is available, the map can also be prepared through use of thesimulation. Here, the mass of air in the cylinder changes depending onthe temperature of the engine. Therefore, the cylinder air mass may becorrected through use of the cooling water temperature (enginetemperature) signal.

As shown in FIG. 6, the target air-fuel ratio computing section 33 isequipped with a three-dimensional map to be used for computing a targetair-fuel ratio from the intake pressure signal and the engine speedcomputed by the engine speed computing section 26. To a certain extent,this three-dimensional map can also be set up theoretically. Theair-fuel ratio is usually in correlation with torque. When an air-fuelratio is low; that is, when fuel content is high and air content is low,torque is increased whereas efficiency decreases. Conversely, when theair-fuel ratio is high; that is, when fuel content is low and aircontent is high, torque decreases whereas efficiency improves. A statein which the air-fuel ratio is low is called a rich state, whilst astate in which the air-fuel ratio is high is called a lean state. Theleanest state is a so-called ideal air-fuel ratio and is called astoichiometric state corresponding to a air-fuel ratio at which gasolineburns completely; that is, 14.7. The engine speed means the operatingstate of the engine. In general, when the engine is in a high-revolutionrange, the air-fuel ratio is increased; and, when the engine is in alow-revolution range, the air-fuel ratio is decreased. The reason forthis is that torque response is increased at the low-revolution rangeand that the responsiveness of the rotating speed is increased in thehigh-revolution range. Here, the intake pressure means the loadedcondition of the engine, such as throttle opening. Generally, when theloaded condition of the engine is heavy; that is, when throttle openingis wide, and the intake pressure is high, the air-fuel ratio isdecreased. When the loaded condition of the engine is light; that is,when the throttle opening is narrow, and the intake pressure is low, theair-fuel ratio is increased. The reason for this is that emphasis isplaced on torque when the loaded condition of the engine is heavy andthat emphasis is placed on efficiency when the loaded condition of theengine is light.

As mentioned above, the target air-fuel ratio is a numeral whosephysical meaning is easy to ascertain. Accordingly, the target air-fuelratio can be set to a certain extent in accordance with a requiredoutput characteristic of the engine. As a matter of course, it goeswithout saying that tuning may be performed in accordance with theoutput characteristic of the engine of an actual vehicle.

The target air-fuel ratio computing section 33 has a transition periodcorrection section 29 which detects the transient period of operatingstate of the engine from the intake pressure signal; specifically, theaccelerating and decelerating states of the engine, and corrects theair-fuel ratio in accordance with the thus-detected states. As shown in,e.g., FIG. 7, the intake pressure also stems from throttle operation.Hence, when the intake pressure increases, the engine is considered tobe in an accelerating state in which demand exists for opening of thethrottle to achieve acceleration. If such an accelerating state isdetected, the target air-fuel ratio is temporarily set to the rich sidein accordance with the detected accelerating state. Subsequently, theair-fuel ratio is reset to the original target air-fuel ratio. Anexisting method can be utilized as a way to reset the air-fuel ratio tothe original air-fuel ratio, wherein, for example, a gradual change ismade in a weighting coefficient to be used for determining a weightedaverage value between the air-fuel ratio set to the rich side during atransition period and the original target air-fuel ratio. Conversely, ifthe decelerating state is detected, the air-fuel ratio may be set to aposition closer to the lean side with reference to the original targetair-fuel ratio, thereby placing emphasis on efficiency.

The fuel injection quantity computing section 34 can determine the massof fuel required in the cylinder by dividing cylinder air mass computedby the cylinder air mass computing section 28 by the target air-fuelratio computed by the target air-fuel computing section 33. A fuelinjection time can be determined by multiplying the thus-computed massof fuel by, e.g., the flow-rate characteristic of the injector 13. Thequantity of fuel to be injected and the fuel injection timing can becomputed from the fuel injection time.

As mentioned above, in the embodiment, the mass of air in the cylinderis computed from the intake pressure and the operating state of theengine in accordance with the previously-stored cylinder air massthree-dimensional map. In accordance with the previously-stored targetair-fuel ratio map, the target air-fuel ratio is computed from theintake pressure and the operating state of the engine. The cylinder airmass is divided by the target fuel-air ratio, thereby computing thequantity of fuel to be injected. Hence, control is facilitated andrendered accurate. The cylinder air mass map is easy to measure, and thetarget air-fuel ratio map is easy to set. Hence, mapping operationbecomes easy. Further, the necessity for using a throttle sensor fordetecting engine load, such as a throttle opening sensor or a throttleposition sensor, is obviated.

Moreover, from the intake pressure the engine is detected as being in atransition phase, such as an accelerating state or a decelerating state,thereby correcting the target air-fuel ratio. An output characteristicof the engine to be achieved at the time of acceleration or decelerationis set merely in accordance with the target air-fuel ratio. Hence, theoutput characteristic can be changed to satisfy the driver's requirementor so as to be close to the driver's perception.

The engine speed can also be detected readily by means of detecting theengine speed from the phase of the crankshaft. For instance, if thestroke status is detected from the phase of the crankshaft in lieu of acam sensor, an expensive, large-scale cam sensor can be obviated.

As mentioned above, according to the embodiment which does not employany cam sensor, the phase of the crankshaft is important. For thisreason, the crank pulse must be detected accurately. However, inreality, a failure to detect a crank pulse and erroneous detection ofnoise as a crank pulse can feasibly occur. For instance, FIG. 8 a showsan instantaneous rotational speed of the crankshaft achieved when thethrottle valve is opened rapidly (i.e., an “instantaneous rev” in thedrawings), an average value of rotational speed of the crankshaft(“average rev” in the drawing), an intake pressure, and numbered crankpulses (a “crank pulse counter” in the drawing). As mentioned above, theinstantaneous rotational speed of the crankshaft is a value determinedby the phase of the cog (i.e., the rotational speed) corresponding tothe crank pulse divided by the time required when the crank pulse isdetected until the next crank pulse is detected. The average value ofrotational speed of the crankshaft is an instantaneous moving averagevalue of rotational speed of the crankshaft.

In the single-cylinder engine having a small displacement such as thatshown in the embodiment, the engine speed is greatly decreased inassociation with rapid opening of the throttle valve. There is a chanceof failure to detect a crank pulse at that moment. Even in FIG. 8 a,when the engine speed has dropped after rapid opening of the throttlevalve, the crank pulse at the top dead center that should originally bedetected cannot be detected. For this reason, an increase in the countvalue of the crank pulse counter does not become linear. Further, thephase (rotational angle) of the crankshaft achieved in the vicinity ofthe cogless section is recognized erroneously. Hence, the instantaneousrotational speed of the crankshaft becomes greatly distorted. Similarly,FIG. 8 b shows an example in which noise derived from firing effected inthe vicinity of the compression top dead center after rapid opening ofthe throttle valve is erroneously detected as a crank pulse. As aresult, the count value of the crank pulse counter does not becomelinear, and the instantaneous rotational speed of the crankshaftobtained in the vicinity of the cogless section becomes greatlydistorted.

When focus is placed on the time at which detection of the crank pulsehas come to end in a failure, i.e., the time at which the crank pulsehas dropped out, and the time at which noise is detected erroneously asa crank pulse, i.e., an instantaneous rotational speed of the crankshaftachieved at the time of occurrence of noise, characteristics have cometo be observed in the cogless section and the neighborhood thereof. FIG.9 shows that an average value of rotational speed of the crankshaftachieved at the time of dropout of the crank pulse (i.e., a “averagerev. pule dropout” in the drawing), an instantaneous rotational speed ofthe crankshaft at the time of dropout of the crank pulse (i.e., an“instantaneous rev at pulse dropouts” in the drawing), an average valueof rotational speed of the crankshaft achieved at the time of occurrenceof noise (i.e., an “average rev at occurrence of noise” in the drawing),and an instantaneous rotational speed of the crankshaft achieved at thetime of occurrence of noise (i.e., an “instantaneous rev at occurrenceof noise”) are plotted such that compression top dead centers areoverlapped. The instantaneous rotational speed of the crankshaft rapidlyincreases at the same timing even when dropouts of the crank pulse andnoise have occurred. In contrast, a rapid decrease arises in theinstantaneous rotational speed of the crankshaft before and after thattiming. Specifically, when a dropout of the crank pulse has arisen, arapid decrease arises in the instantaneous rotational speed of thecrankshaft before a rapid increase arises. Conversely, when noisearises, a rapid decrease tends to arise after a rapid increase hasarisen in the instantaneous rotational speed of the crankshaft.

This is attributable to whether the crank pulse corresponding to a cog,which is to be originally detected and would be present in the coglesssection, is to be detected before or after the cogless section. Asmentioned above, erroneous detection of a cog which would be present inthe cogless section as a normal cog is defined as erroneous detection ofa cogless section. A pitch between specific cogs in the embodiment; thatis, a pitch between cogs which would be in the cogless section, isdouble (α times) the pitch between other cogs (which will also bedescribed as ordinary cogs). Hence, at the time of occurrence of dropoutof a crank pulse at which a cogless section is erroneously detected at atiming at which the cogless section should originally be detected, apitch between ordinary cogs is divided by the time required to detect acrank pulse for a cog which would be in the cogless section.Consequently, the instantaneous rotational speed of the crankshaftobtained from a crank pulse corresponding to a cog at the time oferroneous detection of the cogless section has become half (one-α^(th))or less a predicted rotational speed of the crankshaft obtained from thecrank pulse corresponding to a preceding cog. However, as indicated bytwo-dot chain lines shown in FIG. 9, the predicted rotational speed ofthe crankshaft is obtained, by means of extending at a uniform slope theinstantaneous rotational speed of the crankshaft—which is obtained whenthe crank pulse assigned to the cog appearing before erroneous detectionof the cogless section is detected—until the cogless section is detectederroneously. After erroneous detection of the cogless section, a pitchbetween cogs which would be present in the cogless section is divided bythe time required to detect crank pulses assigned to ordinary cogs.Consequently, the instantaneous rotational speed of the crankshaftobtained from the crank pulses assigned to ordinary cogs erroneouslydetected as a cogless section is twice (α times) or more the averagevalue of rotational speed of the crankshaft.

At the time of occurrence of noise at which the cogless section iserroneously detected later than a timing at which the cogless sectionshould originally be detected, the pitch between cogs in the coglesssection is divided by the time required to detect a crank pulse assignedto ordinary cogs. Consequently, the instantaneous rotational speed ofthe crankshaft obtained from crank pulses assigned to ordinary cogswhich are erroneously detected as those in the cogless section is double(α-times) or more the average value of rotational speed of thecrankshaft. At the time of erroneous detection of a cogless section atwhich an actual cogless section is erroneously detected, a pitch betweenthe ordinary cogs is divided by the time required to detect crank pulsesassigned to cogs which would be present in the cogless section.Consequently, the instantaneous rotational speed of the crank shaftcomputed from crank pulses assigned to cogs subsequent to the cog, thecogs being erroneously detected as being present in the cogless section,have come to be one-fourth (one-2α^(th)) or less the instantaneousrotational speed of the crankshaft obtained earlier than theinstantaneous value.

FIG. 10 shows computation processing to be used for detecting occurrenceof erroneous-detection of a crank pulse on the basis of the rotationalspeed of the crankshaft obtained from such a crank pulse. The computingoperation is performed by a microcomputer provided in the engine controlunit 15 as interrupt processing each time a crank pulse is detected inparallel with the computing operation shown in FIG. 3, in such a waythat detection of a crank pulse, e.g., is taken as a trigger. Here, theengine speed and the rotational speed of the crankshaft aresubstantially identical with each other, because the output shaft of theengine is a crankshaft. The flowchart is not provided with a stepparticularly intended for establishing communication. However, theinformation obtained through computing operation is updated and storedin a storage device, as required. Further, information and a program,which are required for executing the processing, are loaded from thestorage device at any time.

In step S1, through computing operation, a determination is made as towhether or not the crank angle number (denoted as No. in the drawing)assigned to the crank pulse is “3” or “4.” If the crank angle number is“3” or “4,” processing proceeds to step S2. If not, processing proceedsto step S3.

In step S2, a determination is made as to whether or not theinstantaneous value (instantaneous value in the drawing) of therotational speed (C/S rotational speed in the drawing) of the crankshaftcomputed from the current crank pulse is half or less than the predictedcurrent rotational speed of the crank shaft computed from theinstantaneous rotational speed of the previous crankshaft in the mannermentioned previously. When the instantaneous rotational speed of thecrankshaft is half or less than the predicted rotational speed of thecrankshaft, processing proceeds to step S4. If not, processing returnsto the main program.

In step S4, a determination is made as to whether or not the crank anglenumber is three. If the crank angle number is three, processing proceedsto step S5. If not, processing proceeds to step S6.

In step S5, a crank angle storage counter CNT is set to “3,” andprocessing returns to the main program.

In step S6, the crank angle storage counter CNT is set to “4,” andprocessing returns to the main program.

In step 3 a determination is made as to whether or not the crank anglenumber is “6.” If the crank angle number is “6,” processing proceeds tostep S7. If not, processing proceeds to step S8.

In step S7, a determination is made as to whether or not theinstantaneous rotational speed of the crankshaft computed from thecurrent crank pulse is double or more the average value of rotationalspeed of the crankshaft. If the instantaneous rotational speed of thecrankshaft is double or more the average value of rotational speed ofthe crankshaft, processing proceeds to step S9. If not, processingproceeds to step S10.

In step S9, a determination is made as to whether or not the crank anglestorage counter CNT is “3.” If the crank angle storage counter CNT is“3,” processing proceeds to step S11. If not, processing proceeds tostep S12.

In step S11, crank pulses corresponding to two cogs are determined tohave dropped out. A new crank angle number calculated by addition of“two” to the original crank angle number is set, and processing proceedsto step S10.

In step S12, a determination is made as to whether or not the crankangle storage counter CNT is “4.” If the crank angle storage counter CNTis “4,” processing proceeds to step S13. If not, processing proceeds tostep S14.

In step S13, a crank pulse corresponding to one cog is determined tohave dropped out. A new crank angle number calculated by addition of “1”to the original crank angle number is set, and processing proceeds tostep S10.

In step S14, a determination is made as to whether or not the crankangle storage counter CNT is “0.” If the crank angle storage counter CNTis “0,” processing proceeds to step S15. If not, processing proceeds tostep S10.

In step S10, the crank angle storage counter CNT is set to “0,” andprocessing returns to the main program.

In step S15, a noise flag F_(N) is set to “1,” and processing returns tothe main program.

In contrast, in step S8 a determination is made as to whether or not thenoise flag F_(N) is set to 1. If the noise flag F_(N) is set, processingproceeds to step S17. If not, processing returns to the main program.

In step S17, a determination is made as to whether or not the crankangle number is “7.” If the crank angle number is “7,” processingproceeds to step S18. If not, processing proceeds to step S19.

In step S18, a determination is made as to whether or not theinstantaneous rotational speed of the crankshaft computed from thecurrent crank pulse is one-fourth or less the instantaneous rotationalspeed of the crankshaft computed from the previous crank pulse. When theinstantaneous rotational speed of the crankshaft computed from thecurrent crank pulse is one-fourth or less the instantaneous rotationalspeed of the crankshaft computed from the previous crank pulse,processing proceeds to step S20. If not, processing returns to the mainprogram.

In step S20, noise is determined have arisen once, the crank anglenumber is set to “6,” and processing proceeds to step S21.

In step S19, a determination is made as to whether or not the crankangle number is “8.” If the crank angle number is “8,” processingproceeds to step S22. If not, processing proceeds to step S21.

In step S22, a determination is made as to whether or not theinstantaneous rotational speed of the crankshaft computed from thecurrent crank pulse is one-fourth or less the instantaneous rotationalspeed of the crankshaft computed from the second previous crank pulse.When the instantaneous rotational speed of the crankshaft computed fromthe current crank pulse is one-fourth or less the instantaneousrotational speed of the crankshaft computed from the second previouscrank pulse, processing proceeds to step S23. If not, processingproceeds to step S21.

In step S23, noise is determined to have arisen twice. The crank anglenumber is set to “6,” and processing proceeds to step S21.

In step S21, the noise flag F_(N) is reset to “0,” and processingreturns to the main program.

In a case where a crank pulse corresponding to one cog has dropped out,a crank pulse corresponding to a cog which would be in the coglesssection is detected when the crank angle number is “4” in the embodimentby means of the computing operation. Hence, when the crank angle numberis “4,” processing shifts from step S1 to step S2. Here, when the crankpulse corresponding to one cog has dropped out, the instantaneousrotational speed of the crankshaft computed from the current crank pulseis half or less the predicted rotational speed of the crank shaft.Accordingly, processing shifts from step S2 to step S6 by way of stepS4. In step S6, the crank angle storage counter CNT is temporarily setto “4,” and processing returns to the main program.

When the next crank pulse is detected, the crank angle number assignedto that crank pulse is “6.” Hence, processing proceeds from step S1 tostep S7 by way of step S3. When a crank pulse corresponding to one coghas dropped out, the rotational speed of the crankshaft rapidlyincreases after having dropped abruptly. The instantaneous rotationalspeed of the crankshaft computed from that crank pulse is double or morethe average value of rotational speed of the crankshaft, and henceprocessing shifts from step S7 to step S9. Here, the crank angle storagecounter CNT stored in the storage device still remains “4,” andtherefore processing proceeds from step S9 to step S13 by way of stepS12. Here, a crank pulse corresponding to one cog is determined to havedropped out, and a value calculated by adding “1” to the original crankangle number; that is, “7,” is set as a new crank angle number, i.e., acorrect crank angle number, whereupon processing proceeds to step S10.The crank angle storage counter CNT is taken as “0.”

When crank pulses corresponding to two cogs have dropped out, theinstantaneous rotational speed of the crankshaft drops abruptly when thecrank angle number is “3.” Processing shifts from step S1 to step S4 byway of step S2. Here, since the crank angle number is “3,” processingproceeds to step S5, where the crank angle storage counter CNT is set to“3,” and processing temporarily returns to the main program. When crankpulses corresponding to two cogs have dropped out, the instantaneousrotational speed of the crankshaft abruptly drops. Then, when a secondcrank pulse is detected, the instantaneous rotational speed of thecrankshaft increases immediately. Accordingly, when the next crank pulsefor which the crank angle storage counter CNT is set to “3” is detected,the crank angle number still remains “4.” Processing returns from stepS1 to the main program by way of step S2.

When a crank pulse after next is detected, the crank angle number hasassumed “6.” Processing proceeds from step S1 to step S7 by way of stepS3. At this time, the instantaneous rotational speed of the crankshaftrapidly increases and has become double or more the average value ofrotational speed, and hence processing proceeds to step S9. The crankangle storage counter CNT stored in the storage device at this timestill assumes “3,” and hence processing proceeds to step S11, wherecrank pulses corresponding to two cogs are determined to have droppedout. Further, a value calculated by adding “2” to the original crankangle number; that is, “8,” is set to a new crank angle number, i.e., acorrect crank angle number. Processing proceeds to step S10, where thecrank angle storage counter CNT is set to “0.”

In contrast, when noise has arisen once, the instantaneous rotationalspeed of the crankshaft increases rapidly when the crank angle numberassumes “6.” Therefore, if processing proceeds from step S1 to step S2when the crank angle number is “3” or “4,” the instantaneous rotationalspeed of the crankshaft computed from the crank pulse obtained at thattime is not half or less the predicted rotational speed of thecrankshaft, and processing returns to the main program withoutmodification. When the crank angle number has assumed “6,” processingshifts from step S3 to step S7. Here, the instantaneous rotational speedof the crankshaft computed from the current crank pulse is double ormore the rotational speed of the crankshaft, and hence processingproceeds to step S9. However, at this point in time, the crank anglestorage counter CNT stored in the storage device at this moment stillremains “0.” Hence, the noise flag F_(N) is temporarily set to “1” instep S15 by way of steps S9, S12, and S14, and processing returns to themain program.

As mentioned previously, when noise has arisen once, the instantaneousrotational speed of the crankshaft rapidly decreases at the time ofdetection of the next crank pulse at which the instantaneous rotationalspeed of the crankshaft has increased rapidly. The crank angle numberassumes “7” at the time of detection of the next crank pulse at whichthe noise flag F_(N) is set. Processing proceeds from step S1 to step S8byway of step S3. At this time, the noise flag F_(N) still remains set,and hence processing proceeds to step S17. The crank angle number is“7,” and hence processing proceeds to step S18. At this time, theinstantaneous rotational speed of the crankshaft has rapidly increased.The instantaneous rotational speed of the crankshaft computed from thecurrent crank pulse is one-fourth or less the instantaneous rotationalspeed of the crankshaft computed from the previous crank pulse, andhence processing proceeds to step S20, where noise is determined to havearisen once. The crank angle number is set to “6,” that is, a correctcrank angle number, and processing proceeds to step S21, whereupon thenoise flag F_(N) is reset to “0.”

Even when noise has arisen twice, no change arises in the instantaneousrotational value of the crankshaft rapidly increasing when the crankangle number assumes “6.” For this reason, when the crank angle numberassumes “6,” processing proceeds from step S3 to step S7. Here, theinstantaneous rotational speed of the crankshaft computed from thecurrent crank pulse is double or more the rotational speed of thecrankshaft, and hence processing proceeds to step S9. The noise flagF_(N) is set to “1” in step S15 by way of steps S12 and S14. Processingtemporarily returns to the main program. In contrast, when noise hasarisen twice, the instantaneous rotational speed of the crankshaftrapidly decreases. This happens when the second crank pulse is detectedafter the instantaneous rotational speed of the crankshaft is rapidlyincreased. For this reason, even when the crank angle number has assumed“7” at the time of detection of the next crank pulse at which the noiseflag F_(N) is set, processing returns to the main program from step S18without modification.

Next, when the crank pulse is detected and the crank angle number hasassumed “8,” processing proceeds from step S17 to step S22 byway of stepS19. Here, the instantaneous rotational speed of the crankshaft computedfrom the current crank pulse is one-fourth or less the instantaneousrotational speed of the crankshaft computed from the second previouscrank pulse; that is, a crank angle number of “6.” Hence, processingproceeds to step S22, where noise is determined to have arisen twice.Further, the crank angle number is set to “6”; that is, a correct crankangle number, and processing proceeds to step S21, whereupon the noiseflag F_(N) is reset to “0.”

FIG. 11 a shows a case where a crank pulse corresponding to one cog hasdropped out, wherein the crank angle number is corrected through thecomputation processing shown in FIG. 10, and FIG. 11 b shows a casewhere noise has arisen once, wherein the crank angle number is correctedthrough the computation processing shown in FIG. 10. As is evident fromthe drawings, the reason why the instantaneous rotational speed of thecrankshaft has caused an error is that the crank pulse has dropped outor that the crank pulse has fallen within once cycle after occurrence ofnoise. Accurate detection of occurrence of erroneous-detection of acrank pulse and accurate correction of a crank angle are understood tobe performed.

FIG. 12 shows that the ratio of the rotational speed of the crankshaftto the average value of rotational speed when the instantaneousrotational speed of the crankshaft has increased rapidly is determinedthrough repeated, rapid, and intentional opening of the throttle valve.Simultaneously, the crank angle number is amended through the computingoperation shown in FIG. 10, whereby the counter is incremented everytime the crank angle number is amended. As is evident from theforegoing, accurate detection of a rapid increase in the instantaneousrotational speed of the crankshaft results in enhancement of theaccuracy of detection of occurrence of erroneous-detection of a crankpulse. As is evident from the drawing, when the instantaneous rotationalspeed of the crankshaft rapidly increases as a result of occurrence ofdropouts of the crank pulse, the instantaneous rotational speed greatlyexceeds double the average value of rotational speed of the crankshaft,which shows that determination of occurrence of a dropout of crank pulserendered in step 2 pertaining to the computing operation shown in FIG.10 is reasonable.

The embodiment has described the engine of manifold injection type indetail. However, the engine controller of the invention can also beapplied in the same manner to an engine of direct injection type.

Although the embodiment has also described the single cylinder engine indetail, the engine controller of the invention can also be applied inthe same manner to a so-called multicylinder engine having two or morecylinders.

In the engine control unit, various processing circuits can also be usedas substitutes for the microcomputer.

INDUSTRIAL APPLICABILITY

As is described in detail, according to an engine controller of claim 1of the invention, cogs are provided at non-uniform intervals on an outerperiphery of a crankshaft or a member which rotates in synchronism withthe crankshaft. A pulse signal which is transmitted in association withan approach to the cogs is detected as a crank pulse. On the occasion ofcontrolling the operating state of an engine on the basis of the phaseof a crankshaft detected from the crank pulse, the rotational speed ofthe crankshaft determined from crank pulses assigned to specific cogsfrom among the cogs provided at non-uniform intervals is compared withthe rotational speed of the, crankshaft determined from crank pulsesassigned to cogs located in the vicinity of the specific cogs, therebydetecting occurrence of erroneous detection of a crank pulse. On thebasis of the relationship between the pitch between the specific cogsand the pitch between the cogs located in the vicinity of the specificcogs, the computed rotational speeds of the crankshaft are compared witheach other, thereby enabling accurate detection of occurrence oferroneous detection of a crank pulse.

By means of an engine controller of claim 2 of the invention, on theassumption that the pitch between the specific cogs among the cogsprovided at non-uniform intervals is α times the pitch between the othercogs, when the instantaneous rotational speed of the crankshaft obtainedfrom a crank pulse assigned to a cog before the specific cog isone-α^(th) or less a predicated rotational speed of the crankshaftobtained from a crank pulse assigned to the previous cog and when theinstantaneous rotational speed of the crankshaft obtained from the crankpulse assigned to the specific cog is α times or more the average valueof rotational speed of the crankshaft, a determination is made thatcrack pulses are detected erroneously; i.e., too few crank pulses aredetected. Hence, detection of too few crank pulse can be detectedaccurately.

By means of an engine controller of claim 3 of the invention, on theassumption that a pitch between specific cogs from among cogs providedat non-uniform intervals is a times a pitch between the other cogs, whenthe instantaneous rotational speed of the crankshaft determined from thecrank pulse assigned to the specific cogs is α times an average value ofrotational speed of the crankshaft and when the instantaneous rotationalspeed of the crankshaft determined from crank pulses assigned to the cognext to the specific cog and those assigned to subsequent cogs isone-2αth or less the instantaneous rotational speed of the crankshaftobtained before that, a determination is made that crank pulses aredetected erroneously; i.e., too many crank pulses are detected. Hence,detection of too many crank pulses can be detected accurately.

1. An engine controller comprising: cogs provided at non-uniformintervals on an outer periphery of a crankshaft or a member whichrotates in synchronism with the crankshaft; crank pulse generation meanswhich transmits a pulse signal in association with an approach to saidcogs; crankshaft phase detection means for detecting the phase of acrankshaft from said crank pulse; engine control means for controllingthe operating state of an engine on the basis of the phase of saidcrankshaft detected by said crankshaft phase detection means; anderroneous-detection-of-crank-pulse detection means which detectsoccurrence of erroneous detection of said crank pulse by means ofcomparing the rotational speed of said crankshaft determined from crankpulses assigned to specific cogs from among said cogs provided atnon-uniform intervals with the rotational speed of said crankshaftdetermined from crank pulses assigned to cogs located in the vicinity ofsaid specific cogs.
 2. The engine controller according to claim 1,wherein on the assumption that a pitch between said specific cogs amongsaid cogs provided at non-uniform intervals is α times a pitch betweenthe other cogs, when the instantaneous rotational speed of saidcrankshaft obtained from a crank pulse assigned to a cog before thespecific cog is one α^(th) or less a predicated rotational speed of saidcrankshaft obtained from a crank pulse assigned to the previous cog andwhen the instantaneous rotational speed of said crankshaft obtained fromthe crank pulse assigned to said specific cog is a times α times or morethe average value of rotational speed of said crankshaft, adetermination is made that that crank pulse detection is erroneous, inthat too few crank pulses are detected.
 3. The engine controlleraccording to claim 1 or 2, wherein on the assumption that a pitchbetween said specific cogs from among said cogs provided at non-uniformintervals is α times a pitch between the other cogs, when theinstantaneous rotational speed of said crankshaft determined from thecrank pulse assigned to said specific cogs is a times an average valueof rotational speed of said crank shaft and when the instantaneousrotational speed of said crank shaft determined from crank pulsesassigned to a cog next to said specific cog and those assigned tosubsequent cogs is one-2αth or less the instantaneous rotational speedof said crankshaft obtained before that, a determination is made thatcrank pulse detection is erroneous, in that too many crank pulses havedetected.